const prisma = require('../utils/prisma')
const log4js = require('../utils/log4')
const logger = log4js.getLogger('middleware/limit.js')

/** 管理员权限中间件 */
const limit = async (req, res, next) => {
  const { id } = req.user
  logger.debug(`权限检验,当前用户id为${id}`)
  try {
    const check = await prisma.admin_roles
      .findFirst({
        where: {
          admin_id: id
        }
      })
      .then(result => result.role_id)
    if (check !== id) {
      logger.error(`非管理员用户正使用管理员权限,当前用户id为${id},校验不通过`)
      return res.send({ status: 0, message: '你没有该权限' })
    }
    next()
  } catch (error) {
    return res.send({ status: 0, message: '你没有该权限' })
  }
}

module.exports = limit
